package com.edu.neusoft.elec_shop.util;

import java.io.Serializable;

public class AjaxResult implements Serializable {

    private static final long serialVersionUID = 1L;

    // 表示操作是否成功的标志
    private boolean success;

    // 操作结果对应的消息描述
    private String message;

    // 操作返回的数据，可以是任意类型，这里定义为Object以便通用性
    private Object data;

    // 私有构造函数，用于在内部创建对象时初始化默认值
    private AjaxResult() {
        this.success = true;
        this.message = "操作成功";
    }

    // 成功时返回的静态方法，可传入自定义消息和数据
    public static AjaxResult success(String message, Object data) {
        AjaxResult result = new AjaxResult();
        result.success = true;
        result.message = message;
        result.data = data;
        return result;
    }

    // 成功时返回的静态方法，仅传入自定义消息
    public static AjaxResult success(String message) {
        AjaxResult result = new AjaxResult();
        result.success = true;
        result.message = message;
        return result;
    }

    // 失败时返回的静态方法，可传入自定义消息
    public static AjaxResult error(String message) {
        AjaxResult result = new AjaxResult();
        result.success = false;
        result.message = message;
        return result;
    }

    // 获取操作是否成功的标志
    public boolean isSuccess() {
        return success;
    }

    // 设置操作是否成功的标志
    public void setSuccess(boolean success) {
        this.success = success;
    }

    // 获取操作结果对应的消息描述
    public String getMessage() {
        return message;
    }

    // 设置操作结果对应的消息描述
    public void setMessage(String message) {
        this.message = message;
    }

    // 获取操作返回的数据
    public Object getData() {
        return data;
    }

    // 设置操作返回的数据
    public void setData(Object data) {
        this.data = data;
    }
}